整门课的最后一章。3.4 你造出了一个"能用"的功能,但也看到——能用离能扛还有距离。这章讲怎么把你的路由器从"能跑"提升到"能当家里的关键基础设施长期稳定服役":安全上缩小攻击面、性能上扛得住流量、可靠性上让它自己活下去。这既是 Phase 3 的收尾,也是整门课的收官——学完这章,你不只理解路由器、能造路由器,还能造一台真正靠得住的路由器。
生产加固 = 把路由器从"能用"提升到"能扛",围绕三个维度:安全(缩小攻击面 + 密钥管理)、性能(扛住流量 + 降延迟)、可靠性(自动恢复 + 配置备份/回滚)。路由器是关键基础设施,这三样缺一不可。
1从"能用"到"能扛"
3.1–3.4 你造的东西能跑,但:不安全(攻击面没收敛,一个暴露的服务/弱口令就可能被打穿)、性能没优化(高流量下可能卡、延迟飙升)、不可靠(挂了没人知道、重启丢配置、改错难恢复)。一台路由器要长期可靠服役,得在三个维度上都过关:
让它难被攻破
让它扛得住、跑得快
让它自己活下去
家用电器坏了你换一个;路由器坏了,全家断网、你的自建服务全挂、远程访问(3.4)也没了。它是你数字生活的中枢——就该按"关键基础设施"的标准对待:不是"能开机就行",而是"安全、快、且几乎不会让你失望"。
2安全:缩小攻击面
路由器安全的核心是"缩小攻击面 + 守好入口 + 管好密钥"。缩小攻击面(能关的都关):WAN 侧默认拒绝入站(2.4 的 wan input=REJECT,第一道也是最重要的防线)、关掉不用的服务、管理界面别暴露到 WAN、只精确开必要端口。守好入口(SSH 加固):
PermitRootLogin no # 禁止 root 直接远程登录
PasswordAuthentication no # 只允许密钥登录,禁用密码(挡暴力破解)
安全靠密钥,不靠藏端口。管理界面(LuCI/Landscape UI)绝不暴露到公网——要远程管,走你 3.4 建的 WireGuard 进来管(内网访问),而不是把管理口开到 WAN。这正是 3.4 那个功能的绝佳用途。管好密钥:WireGuard 私钥、各种凭证不能明文进 Git(3.2 说配置进 Git,但密钥要单独加密保管,如 sops/agenix),并定期更新软件修补已知漏洞。
你会发现安全加固几乎全是前面学过的东西的"用到位":2.4 的区域策略(wan 拒绝入站)是地基、3.4 的 WireGuard 让你不必暴露管理口就能远程管、3.2 的配置即代码要配上密钥的安全管理。安全不是新知识,是把学过的原语按"最小暴露"的原则用到位。
3性能:扛得住流量
路由器性能的关键是"少让 CPU 逐包处理"。连接跟踪(conntrack)调优(1.3):你的有状态防火墙靠 conntrack 记住每条连接,连接数极多时(P2P、大量设备)表可能被占满导致丢连接——按设备规模调大 nf_conntrack_max、合理设超时。转发卸载(flow offload,性能大杀器):默认每个转发包都走完整 netfilter(1.3),CPU 开销大;卸载让已建立的连接绕过大部分逐包处理:
option flow_offloading '1' # 软件卸载:已建连接走内核快路径
option flow_offloading_hw '1' # 硬件卸载:支持的网卡/SoC 直接转发
这正好呼应 3.3 Landscape 用 eBPF"对直连流量零开销"——同一个思路:让常规流量走最短路径。治理 bufferbloat(1.5):开 SQM/CAKE(1.5 学过),把上/下行队列管好,避免满载时延迟飙到几百毫秒(打游戏/视频会议卡顿的元凶)——带宽没变,但网络"跟手"多了。
三项优化背后是同一个道理:路由器最贵的是 CPU 逐包处理,最省的是让包走快路径。conntrack 调优避免状态表拖垮、offload 让已知连接绕过慢路径、SQM 管好队列避免延迟膨胀。理解了这个,你就知道任何路由器性能问题往哪查——是不是 CPU 在逐包硬扛?能不能让这类流量走得更省?
4可靠性:自己活下去
可靠性的核心是"坏了能自愈、坏了你能知道、坏了能快速恢复"。坏了能知道(监控):至少要有关键服务状态、WAN 是否在线、资源使用(CPU/内存/conntrack)、日志——一台没监控的路由器,你只能等"全家喊断网"才知道出事。坏了能自愈(自动恢复):看门狗(watchdog)在卡死时自动重启、procd 管服务重启(2.1)、关键服务(WireGuard/dnsmasq)配自动重连、WAN 断线自动重拨(2.6)。坏了能快速恢复(备份 + 回滚)——这是 3.1/3.2 那条线的最终答案:
- 配置备份:OpenWRT 定期导出
/etc/config、NixOS 配置进 Git——换机/重装能一键重建; - 回滚:NixOS 的"选上一代"(3.2)、OpenWRT 的配置快照——改坏了秒回;
- 这就闭环了 3.1 提的"运行时状态重启即失"问题:生产路由器的配置必须持久、可备份、可回滚。
可靠性把前面几条线全收了:2.1 的 procd 自启/守护、2.6 的 WAN 自动重连、3.1 的持久化问题、3.2 的声明式回滚。一台生产级路由器 = 你懂的所有原语 + "让它在你不看的时候也稳稳运行"的这层保障。到这,你手里的不再是"一个能跑的路由器",而是"一台可以托付家里网络的可靠基础设施"。
本章小结
- 生产加固 = 把路由器从"能用"提升到"能扛",三维度:安全、性能、可靠性——关键基础设施缺一不可。
- 安全:缩小攻击面(wan 拒绝入站 2.4、关无用服务/端口)、加固 SSH(密钥登录、禁密码)、管理口走 WireGuard 不暴露公网(3.4)、密钥安全管理(不明文进 Git,3.2)。
- 性能:conntrack 调优(1.3,避免状态表爆)、开转发卸载(flow offload,让已建连接走快路径,呼应 3.3 eBPF)、治理 bufferbloat(SQM/CAKE,1.5)。核心:少让 CPU 逐包处理。
- 可靠性:监控(坏了能知道)、自动恢复(watchdog/重连,procd 2.1、WAN 重拨 2.6)、配置备份+回滚(3.1/3.2 那条线的最终答案)。
- 安全/可靠性几乎全是"把学过的原语按最小暴露 + 自愈原则用到位";加固不是新知识,是把课程学的东西做到生产标准。
动手练习
- 给你(要造的/现有的)路由器列一份"生产加固清单":安全 3 项、性能 2 项、可靠性 3 项,各写清"现状 → 目标 → 怎么做"。这份清单就是你的路由器从玩具到基础设施的路线图。
- 思考题:为什么"管理界面走 WireGuard(3.4)而不是开到公网"同时提升了安全和可靠性?(安全:管理口不暴露,攻击面小;可靠:你在任何地方都能安全地远程管理/救火。)
- (有路由器时)做三件最高性价比的加固:SSH 改密钥登录、开 flow offload(若支持)、开 SQM,前后对比体感(延迟、满载表现)。
- 进阶:把整门课的知识画成一张"我的路由器全景图"——从 Phase 0 的数据包、Phase 1 的内核原语、Phase 2 的系统组织、到 Phase 3 你自己的构建与加固,标出每一块你用到的概念。这张图就是你"从零到路由器"走过的全程。
你走完了这条路
回头看看:
最开始,路由器对你也许是个会闪灯的黑盒。现在它对你是透明的:你能说出里面每个进程在干什么、每条规则底下发生了什么、每个"高级功能"由哪些原语组成。你不再需要照着教程抄配置——因为你理解了组成一切的那些原语,能把它们组装成任何你需要的东西:一台最小路由器、一个远程访问方案、一张 WireGuard mesh、乃至一套你自己设计的网络。
这就是"从零到路由器"想带你到的地方:不是记住多少配置,而是获得一种能力——面对任何网络系统,你能拆穿它、理解它、重建它。这种能力不会随某个固件版本过时,它是你的了。
网络的世界很大,这门课只是给了你一副能看穿它的眼睛。接下来去哪、造什么,由你决定。